package com.voiceblog.logic;

import java.util.Date;
import java.util.List;

import com.voiceblog.model.Album;
import com.voiceblog.model.Blog;
import com.voiceblog.model.Comment;
import com.voiceblog.model.Users;

public interface VoiceBlogFacade {

	List findAll();

	List findAllUsers();

	void deleteUser(Users user);

	Blog findById(int id);

	List findRecentlyBlogs(final int num, Users user);

	List findByProperty(String account, Object value);

	Users findById(String account);

	void saveBlog(Blog transientInstance);

	List findTopBlogs(final int num);

	List findTopUsers(final int num);

	List listMyAlbums(Users user);

	Album findAlbumById(int id);

	void deleteAlbum(Album album);

	Users getUserByAccount(String account);

	List findRecentlyBlogs(String name);

	List findByArticleId(int articleId);

	List findFriend(final int num, final Users user);

	List findLeaveMessages(final int num, final Users user);

	void saveComment(Comment comment);

	List findAllComment();

	List findCommentByArticleId(int articleId);

	void updateBlog(Blog blog);

	void updateUser(Users user);

	List findByUser(String account, String password);

	List findNextBlogs(String name, Blog blog);

	List findPreviousBlogs(String name, Blog blog);

	void deleteBlog(Blog blog);

	List findBlogByTitle(String title);

	List findBlogByDate(Date date);

	List findBlogByType(String type);

	void editBlog(Blog blog);

	List findUsersByBlogName(String blogName);

	List findAllAlbum();

}
